package com.anpy.user.mapper;

import com.anpy.user.entity.RoleEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 角色数据访问接口
 */
public interface RoleMapper extends BaseMapper<RoleEntity> {

    /**
     * 保存角色权限关联
     * @param roleId 角色ID
     * @param permissions 权限列表
     * @return 影响行数
     */
    int saveRolePermissions(@Param("roleId") Integer roleId, @Param("permissions") List<String> permissions);

    /**
     * 删除角色权限关联
     * @param roleId 角色ID
     * @return 影响行数
     */
    @Delete("DELETE FROM T_ROLE_PERMISSION WHERE role_id = #{roleId}")
    int deleteRolePermissions(@Param("roleId") Integer roleId);

    /**
     * 获取角色权限列表
     * @param roleId 角色ID
     * @return 权限列表
     */
    @Select("SELECT permission_code FROM T_ROLE_PERMISSION WHERE role_id = #{roleId}")
    List<String> getRolePermissions(@Param("roleId") Integer roleId);
}
